﻿//using Web7.Logging;

namespace Web7.Ioc {
    /// <summary>
    /// 标注接口
    /// 一次http请求所用
    /// </summary>
    public interface IDependency {
    }

    /// <summary>
    /// 标注接口
    /// 应用程序域级别的单列
    /// </summary>
    public interface ISingletonDependency : IDependency {
    }

    /// <summary>
    /// Base interface for services that may *only* be instantiated in a unit of work.
    /// This interface is used to guarantee they are not accidentally referenced by a singleton dependency.
    /// </summary>
    public interface IUnitOfWorkDependency : IDependency {
    }

    /// <summary>
    /// 标记接口
    /// 实例不共享,每次有新的实例产生
    /// </summary>
    public interface ITransientDependency : IDependency {
    }


    public abstract class Component : IDependency {
        protected Component() {
            //Logger = NullLogger.Instance;
            //T = NullLocalizer.Instance;
        }

  //      public ILogger Logger { get; set; }
        //public Localizer T { get; set; }
    }
}
